package com.xiaomazi.acl.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xiaomazi.acl.entity.Permission;

import java.util.List;

public interface PermissionService extends IService<Permission> {


    /**
     * 查询出所有菜单，并构建成树形结构
     * @return permissionList
     */
    List<Permission> queryAllMenu();


    /**
     * 根据id递归删除权限
     * @param id 权限id
     */
    void removeChildById(String id);

    /**
     * 给角色分配权限
     * @param roleId 角色id
     * @param permissionId 权限ids
     */
    void saveRolePermissionRealtionShip(String roleId, String[] permissionId);

    /**
     * 根据用户id查询用户对应的所有权限列表
     * @param id 用户id
     * @return List
     */
    List<String> selectPermissionValueByUserId(String id);

    /**
     * 根据角色获取菜单
     * @param roleId 角色Id
     * @return List<Permission>
     */
    List<Permission> selectAllMenu(String roleId);
}
